1. Field
Various features disclosed herein pertain generally to peer-to-peer overlay networks, and at least some features pertain to devices and methods for facilitating data access controls in peer-to-peer overlay networks.
2. Background
Peer-to-peer (or P2P) and other similar overlay networks include a distributed application architecture that partitions tasks or workloads between peers. Such peer-to-peer overlay networks can be built on top of an underlying network, such as a network utilizing the Internet Protocol (IP).
Typically, peers are equally privileged, equipotent participants in the application, and are typically said to form a peer-to-peer network of nodes. The various peer nodes cooperate with each other both to provide services and to maintain the network. Peer nodes typically make a portion of their resources, such as processing power, disk storage or network bandwidth, directly available to other network participants, without the need for central coordination by servers or stable hosts. Generally speaking, the peer nodes are both suppliers and consumers of resources, in contrast to the traditional client-server model where only servers supply, and clients consume.
Peer-to-peer and similar networks can be employed in many environments for low-cost scalability and easy deployment of applications. For example, in a home environment, a plurality of nodes can be connected together in a peer-to-peer network, such as computers, televisions, cellular phones, printers or other devices with network interface capabilities for communicating and sharing data. Typically, such networks are relatively open, allowing devices (i.e., nodes) to join and leave at will. In some implementations of such a network, a user's data can be stored in a distributed fashion on a remote node in the network, which might be known or unknown to the user. As a result some users may not have full confidence in the overlay's data storage capability unless there are assurances that the user's data will not be accessed (e.g., read and/or modified) in unauthorized fashion. The data owner may, therefore, be able to specify access controls defining who can access the stored data objects.
Because there is no central coordination by servers or stable hosts to facilitate centrally implemented access control lists, each data object in a conventional peer-to-peer overlay network may contain its own respective access control list indicating the access control policy for that particular data object. The access control list is attached to each data object (e.g., a file) to specify the access information for the respective data object. However, storage overhead is relatively large with each data object having its own access control list. In addition, since an access control list increases the size of the data object, there is an increase in required bandwidth in order to transmit the data object between peer nodes. Therefore, there is a need for systems, devices and/or methods for facilitating access control for data objects in peer-to-peer and similar overlay networks that are not centrally coordinated by servers or stable hosts.